import torch
import numpy as np

# 生成全都为1的 2行 3列的矩阵
print(torch.ones(2, 3))

print(torch.zeros(3, 3))

# 随机生成
print(torch.rand(3, 4))

# 随机生成整数,且规定范围为 0 到 10
print(torch.randint(0, 10, (2, 3)))

a = torch.tensor([[1, 2], [3, 4], [5, 6]])

# 随机生成和a类似的矩阵(形状相似)
b = torch.rand_like(a, dtype=float)

print(b)

# 修改数据形状, 进行维度的改变, 但是数值不变
c = b.view(6)
# 也可以用 reshape 来改变维度
# c = b.reshape(6)
print(c)

# 将 tensor 对象 改变为一个 python 下一个普通的数值, 但是item只能改变一个值
print(c[0].item())

# 将 tensor 改变为 numpy array
d = np.array(c)
print(d)

# 将 numpy array 改变为 tensor
tensor = torch.tensor(d)
print(tensor)




